﻿// -----------------------------------------------------------------------
// <copyright file="Document_DAL.cs" company="">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------

namespace PMSGSC.DAL
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// TODO: Update summary.
    /// </summary>
    public class CertificateType_DAL: BaseDAL
    {
        
        // Lấy tất cả TypeCertificate
        public static List<TypeCertificate> GetAll(int shipID)
        {
            DB.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues, DB.TypeCertificates);
            return DB.TypeCertificates.Where(n=>n.Ship_ID == shipID).ToList();
        }
        // Lấy TypeCertificate theo Id
        public static TypeCertificate GetDataById(int id)
        {
            return DB.TypeCertificates.Where(s => s.TypeCertificate_ID == id).FirstOrDefault();
        }
        //Thêm một TypeCertificate
        public static bool Insert(TypeCertificate TypeCertificate)
        {
            try
            {
                DB.TypeCertificates.InsertOnSubmit(TypeCertificate);
                DB.SubmitChanges();
                return true;
            }
            catch
            {
                return false;
            }

        }
        // Xóa một TypeCertificate
        public static bool Delete(TypeCertificate TypeCertificate)
        {
            try
            {
                DB.TypeCertificates.DeleteOnSubmit(TypeCertificate);
                DB.SubmitChanges();
                return true;
            }
            catch
            {
                return false;
            }

        }
        // Cập nhật TypeCertificate
        public static bool Update(TypeCertificate TypeCertificate)
        {
            try
            {
                //TypeCertificate objTypeCertificate = GetDataById(TypeCertificate.TypeCertificate_ID);
                //objTypeCertificate.NameTypeCertificate = TypeCertificate.NameTypeCertificate;
                DB.SubmitChanges();
                return true;
            }
            catch
            {
                return false;
            }

        }

        // Kiểm tra xem TypeCertificate Name có tồn tại chưa ?
        public static bool IsExits(TypeCertificate TypeCertificate)
        {
            TypeCertificate objTypeCertificate = null;
            objTypeCertificate = DB.TypeCertificates.Where(m => (m.NameType == TypeCertificate.NameType) &&
                (m.TypeCertificate_ID != TypeCertificate.TypeCertificate_ID) && (m.Ship_ID == TypeCertificate.Ship_ID)).FirstOrDefault();


            return objTypeCertificate != null ? true : false;
        }
        public static bool IsRelationship(TypeCertificate certificateType)
        {
            Certificate certificate = DB.Certificates.Where(n => n.TypeCertificate_ID == certificateType.TypeCertificate_ID).FirstOrDefault();
            if (null != certificate)
                return false;

            return true;
        }
    }
}
